package com.wicket.okrcomponent.web.contorller;

import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.page.PageMethod;
import com.wicket.okrcomponent.biz.service.IntelligentCommunicationService;
import com.wicket.okrcomponent.biz.service.dto.req.*;
import com.wicket.okrcomponent.biz.service.dto.res.*;
import com.wicket.okrcomponent.common.ro.OkrResult;
import com.wicket.okrcomponent.common.util.CommonFunctionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/comp/intelligentCommunication/")
public class IntelligentCommunicationController {

  @Autowired
  IntelligentCommunicationService intelligentCommunicationService;
/**
   * D2执行第三方智能问答接口(公共)
   */
    @PostMapping("implementThirdPartIntelligentQaInterfaceCom")
    public OkrResult<ImplementThirdPartIntelligentQaInterfaceComRespDto> implementThirdPartIntelligentQaInterfaceCom(@RequestBody @Validated ImplementThirdPartIntelligentQaInterfaceComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.implementThirdPartIntelligentQaInterfaceCom(reqDTO));
    }
/**
   * D2执行导向第三方智能问答(公共)
   */
    @PostMapping("implementGuidedThirdPartyIntelligentQaCom")
    public OkrResult<ImplementGuidedThirdPartyIntelligentQaComRespDto> implementGuidedThirdPartyIntelligentQaCom(@RequestBody @Validated ImplementGuidedThirdPartyIntelligentQaComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.implementGuidedThirdPartyIntelligentQaCom(reqDTO));
    }
/**
   * D2执行人工解析指令参数(公共)
   */
    @PostMapping("implementManuallyParsingInstructionParametersCom")
    public OkrResult<ImplementManuallyParsingInstructionParametersComRespDto> implementManuallyParsingInstructionParametersCom(@RequestBody @Validated ImplementManuallyParsingInstructionParametersComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.implementManuallyParsingInstructionParametersCom(reqDTO));
    }
/**
   * D2执行强提醒列表(公共)
   */
    @PostMapping("implementStrongReminderListCom")
    public OkrResult<ImplementStrongReminderListComRespDto> implementStrongReminderListCom(@RequestBody @Validated ImplementStrongReminderListComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.implementStrongReminderListCom(reqDTO));
    }
/**
   * D2执行智能指令沟通服务(公共)
   */
    @PostMapping("implementIntelligentCommandCommunicationServiceCom")
    public OkrResult<ImplementIntelligentCommandCommunicationServiceComRespDto> implementIntelligentCommandCommunicationServiceCom(@RequestBody @Validated ImplementIntelligentCommandCommunicationServiceComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.implementIntelligentCommandCommunicationServiceCom(reqDTO));
    }
/**
   * D2执行判断想法类型(公共)
   */
    @PostMapping("implementDetermineTypeIdeaCom")
    public OkrResult<ImplementDetermineTypeIdeaComRespDto> implementDetermineTypeIdeaCom(@RequestBody @Validated ImplementDetermineTypeIdeaComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.implementDetermineTypeIdeaCom(reqDTO));
    }
/**
   * D2构造智能问答列表单条内容(公共)
   */
    @PostMapping("addGuidedThirdPartyIntelligentQaCom")
    public OkrResult<AddGuidedThirdPartyIntelligentQaComRespDto> addGuidedThirdPartyIntelligentQaCom(@RequestBody @Validated AddGuidedThirdPartyIntelligentQaComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.addGuidedThirdPartyIntelligentQaCom(reqDTO));
    }
/**
   * D2执行上传文件到第三方智能问答(公共)
   */
    @PostMapping("implementUploadFileToThirdQaCom")
    public OkrResult<ImplementUploadFileToThirdQaComRespDto> implementUploadFileToThirdQaCom(@RequestBody @Validated ImplementUploadFileToThirdQaComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.implementUploadFileToThirdQaCom(reqDTO));
    }
/**
   * D2生成单个文件长文本问答(公共)
   */
    @PostMapping("generateFileQaCom")
    public OkrResult<GenerateFileQaComRespDto> generateFileQaCom(@RequestBody @Validated GenerateFileQaComReqDto reqDTO){
    return OkrResult.success(intelligentCommunicationService.generateFileQaCom(reqDTO));
    }
}
